package top.archiesean.sqlSession;

import java.util.List;

/**
 * @author ArchieSean
 * @create 2023/7/11
 */
public interface SqlSession {

    /**
     * 查询列表
     *
     * @param statementId
     * @param params
     * @param <E>
     * @return
     */
    public <E> List<E> selectList(String statementId, Object... params);

    /**
     * 查询单个
     *
     * @param statementId
     * @param params
     * @param <T>
     * @return
     */
    public <T> T selectOne(String statementId, Object... params);

    /**
     * 为dao接口生成代理实现类
     * @param mapperClass 需要代理的类
     * @return 代理类
     * @param <T> 泛型
     */
    public <T> T getMapper(Class<?> mapperClass);
}
